package com.guigu.health.service;

import com.github.pagehelper.PageInfo;
import com.guigu.health.pojo.*;

import java.util.List;

/**
 * @ClassName:CheckGroupService
 * @Description:检查组合检查项业务
 * @Author:longtao
 * @Date:2021/3/23
 * @Version:1.0
 */
public interface CheckGroupService {
    /**
     * 查询检查组合检查项
     * @return
     */
    public List<CheckGroupResult> queryCheckGroupAllList();

    /**
     * 查询检查项
     * @param id
     * @return
     */
    public List<CheckItem> queryCheckItemAll(Integer id);

    /**
     * 根据id查询检查项目
     * @param id
     * @return
     */
    public CheckItem queryCheckItemID(Integer id);

    /**
     * 根据用户账号查找检查项目
     * @param account
     * @return
     */
    public List<CheckItemDetails> queryCheckItemByAccount(String account);

    /**
     * 模糊查询并分页
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
    public PageInfo<CheckGroupCheckItem> queryAllList(String name,Integer pageNum,Integer pageSize);

    /**
     * 添加检查组
     * @param checkGroup
     * @return
     */
    public boolean addCheckGroup(CheckGroup checkGroup);

    /**
     * 根据id删除
     * @param id
     * @return
     */
    public boolean deleteCheckGroup(Integer id);

    /**
     * 检查组修改
     * @param checkGroup
     * @param example
     * @return
     */
    public boolean updateCheckGroup(CheckGroup checkGroup,CheckGroupExample example,int [] checkItemIds);

    /**
     * 批处理
     * @param list
     * @return
     */
    public Boolean batchAdd(List<CheckGroup_CheckItemKey> list);

    public List<CheckGroup> queryAll();

    public List<CheckItem> querAllCheckItem();

    /**
     * 根据检查id查询出要选中的检查项
     * @param checkGroupId
     * @return
     */
    public List<Integer> getCountCheckItemIds(int checkGroupId);

    /**
     * 编码名不一致
     * @param code
     * @return
     */
    int count(String code);
}
